Web Sites Verification: An Abductive Logic Programming Tool
نویسندگان
چکیده
We present the CIFFWEB system, an innovative tool for the verification of web sites, relying upon abductive logic programming. The system allows the user to define rules that a web site should fulfill by using (a fragment of) the query language Xcerpt. The rules are translated into abductive logic programs with constraints and their fulfillment is checked through the CIFF abductive proof procedure. 1 Web Checking Rules The exponential growth of the WWW raises the question of maintaining and repairing automatically web pages at both structural and data level. Our web checking rules are characterized by using (a fragment of) the query language Xcerpt [2] for expressing complex queries in a natural syntax. The following is an example of a XML page [P1] about a theater company (left) and a rule expressing that no director should occur twice in the director list [R1] (right). %%% directorindex.xml GOAL all error [var D,"double director"] FROM dir1 in {resource{"file:directorindex.xml"}, dir2 dirlist {{ dir2 dir {{var D}}, dir {{var D}} }} } END Web checking rules are specified by a condition part (starting with FROM) and an error part (starting with GOAL). The intuitive meaning of a rule is that for each instance in the XML resource(s) matching the condition part, an error needs to be returned. Due to lack of space, the example does not cover the whole expressiveness of our rules: in particular the absence of XML data (without construct) and (arithmetical) constraints over variables can also be expressed. However, to the best of our knowledge, Xcerpt lacks of both a clear semantics for negation constructs (without) and a concrete tool for evaluating Xcerpt queries. Hence, we map web checking rules into abductive logic programs with constraints (ALPCs) that can be fed as input to the CIFF System 4.0, an implementation of the general-purpose CIFF abductive proof procedure [3] which is sound with respect to the 3-valued completion semantics. Using CIFF for determining the fulfillment of the rules, we inherit its formal properties, thus obtaining a sound concrete tool for web sites verification. 2 Mapping rules to abductive logic programs The CIFF proof procedure gets as input an ALPC 〈P,A, IC〉< where P is a normal logic program (with constraints), A is a set of abducible predicates and IC is a set of integrity constraints of the form L1 ∧ · · · ∧ Lm → H where each Li is a literal and H is a disjunction of atoms. Constraint atoms are evaluated wrt an underlying structure <, as in constraint logic programming [3]. Since CIFF is not designed to handle directly XML resources, we translate XML pages into sets of atoms of the form pg el(ID,Tag,IDF). Each XML Tag element is associated to both a unique ID and to its father’s id (IDF) in order to represent the page structure. The same is done for the data inside a XML tag. Similarly, we translate Xcerpt rules into ALPCs, where abducibles are associated with errors. In the absence of negation (without construct) each web checking rule is translated into a single integrity constraint whose head is an abducible atom abd err(Args,Msg) representing the error. As an example, the translation of both [P1] and [R1] is the following. [P1]: pg_el(1,dirlist,_). pg_el(2,dir,1). data_el(3,’dir1’,2). pg_el(4,dir,1). data_el(5,’dir2’,4). pg_el(6,dir,1). data_el(7,’dir2’,6). [R1]: [pg_el(ID1,dirlist,_), pg_el(ID2,dir,ID1), data_el(ID3,D,ID2), pg_el(ID4,dir,ID1), data_el(ID5,D,ID4), ID2 #\= ID4] implies [abd_err([D],"double director")]. Running the CIFF System 4.0 with the above input, the abductive answer [abd err([’dir2’],’double director’)] is correctly produced.
منابع مشابه
Web Site Verification and Repair: an Abductive Logic Programming Tool
We present the CIFFWEB system, an innovative tool for the verification and repair of web sites, relying upon abductive logic programming. The system allows the user to define rules that a web site should fulfill and uses abductive reasoning for checking their fulfillment and, if needed, for suggesting repairs to those (parts of the) web sites responsible for violating them. The rules are expres...
متن کاملThe CIFF Proof Procedure for Abductive Logic Programming with Constraints: Definition, Implementation and a Web Application
Abduction has found broad application as a powerful tool for hypothetical reasoning with incomplete knowledge, which can be handled by labeling some pieces of information as abducibles, i.e. as possible hypotheses that can be assumed to hold, provided that they are consistent with the given knowledge base. Attempts to make the abductive reasoning an effective computational tool gave rise to Abd...
متن کاملA-Priori Verification of Web Services with Abduction
Although stemming from very different research areas, MultiAgent Systems (MAS) and Service Oriented Computing (SOC) share common topics, problems and settings. A common problem is the need to formally verify the conformance of individuals (Agents or Web Services) to common rules and specifications (resp. Protocols/Choreographies), in order to provide a coherent behaviour and to reach the user’s...
متن کاملModeling and verifying business processes and choreographies through the abductive proof procedure SCIFF and its extensions
In this article we survey our recent research activity concerning the use of logic programming, and in particular of abduction, for interaction specification and verification in several domains. We outline relevant results in the areas of multi-agent systems, argumentation, web services choreographies and business processes.
متن کاملProgramming Applications in CIFF
We show how to deploy the CIFF System 4.0 for abductive logic programming with constraints in a number of applications, ranging from combinatorial applications to web management. We also compare the CIFF System 4.0 with a number of logic programming tools, namely the A-System, the DLV system and the SMODELS system.
متن کامل